package com.vhall.component.entity.lottery.vo;


import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.PositiveOrZero;

/**
 * @author dongsong
 */
@Data
public class V4LotteryUsersGetReqVO {

    /**
     * 抽奖ID
     */
    @ParamName("lottery_id")
    @JsonProperty("lottery_id")
    @PositiveOrZero(message = "lottery_id参数异常")
    @NotNull(message = "lottery_id参数异常")
    private Long lotteryId;


    @ParamName("sort_type")
    @JsonProperty("sort_type")
    private String sortType;


    private Integer page;

    @ParamName("page_size")
    @JsonProperty("page_size")
    private Integer pageSize;

    /**
     * 开始游标
     */
    @ParamName("offset")
    @JsonProperty("offset")
    @PositiveOrZero(message = "参数offset需要>=0")
    @NotNull(message = "offset参数异常")
    private Integer offset;

    @ParamName("room_id")
    @JsonProperty("room_id")
    @NotBlank(message = "房间ID不能为空")
    private String roomId;

    /**
     * 抽奖中奖者ID
     */
    @ParamName("lottery_user_id")
    @JsonProperty("lottery_user_id")
    @NotBlank(message = "lottery_user_id参数异常")
    @Pattern(regexp = "\\d*", message = "lottery_user_id参数异常")
    private String lotteryUserId;

    @ParamName("from")
    @JsonProperty("from")
    private String from;

    @ParamName("vss_token")
    @JsonProperty("vss_token")
    private String vssToken;

    @ParamName("en")
    private String en;
}
